<?php

namespace catchAdmin\settlement\model;

use catchAdmin\settlement\model\search\ExpensesSearch;
use catcher\base\CatchModel;
/**
 *
 * @property int $id
 * @property string $job_number
 * @property string $expense_code
 * @property string $expense_name
 * @property string $settlement_code
 * @property string $settlement_name
 * @property float $unit_price
 * @property string $quantity
 * @property string $currency
 * @property string $exchange_rate
 * @property string $money
 * @property string $cost_title
 * @property string $account_number
 * @property int $invoice_no
 * @property date $invoicing_date
 * @property string $remarks
 * @property string $base_currency_money
 * @property string $taxes
 * @property string $cheque
 * @property string $request_funds
 * @property int $tenant_id
 * @property int $creator_id
 * @property int $created_at
 * @property int $updated_at
 * @property int $deleted_at
 * @property string $expenses_type
 */
class Expenses extends CatchModel
{
    use ExpensesSearch;
    
    public $field = [
        // ID
        'id',
        // 工作号
        'job_number',
        // 费用代码
        'expense_code',
        // 费用名称
        'expense_name',
        // 结算代码
        'settlement_code',
        // 结算名称
        'settlement_name',
        // 单价
        'unit_price',
        // 数量
        'quantity',
        // 币种
        'currency',
        // 汇率
        'exchange_rate',
        // 金额
        'money',
        // 费用标题
        'cost_title',
        // 账单号
        'account_number',
        // 发票号
        'invoice_no',
        // 开票日期
        'invoicing_date',
        // 备注
        'remarks',
        // 本位币金额
        'base_currency_money',
        // 税金
        'taxes',
        // 支票号
        'cheque',
        // 请款单号
        'request_funds',
        // 商户
        'tenant_id',
        // 创建人id
        'creator_id',
        // 创建时间
        'created_at',
        // 更新时间
        'updated_at',
        // 删除时间
        'deleted_at',
        // 费用类型:1.应收,2.应付
        'expenses_type',
    ];
    
    public $name = 'db_expenses';
    /**
     * 列表
     * @throws \think\db\exception\DbException
     * @return \think\Paginator
     */
    public function getList($tenant_id = 0)
    {
        $where = [];
        if($tenant_id != 0){
            $where[]=['tenant_id','=',$tenant_id];
        }
        return $this->catchSearch()
            ->order('id','desc')
            ->where($where)
            ->withoutField('tenant_id,creator_id,updated_at,deleted_at,created_at')
            ->paginate();
    }
}